//#ifndef __SHADER_G_H__
//#define __SHADER_G_H__
//
//#include "fwMaterial.h"
//#include "fwDefine.h"
//#include "fwShaderHelper.h"
//
//class Shader : public Material
//{
//protected:
//	FWint m_vertexShader;
//	FWint m_fragmentShader;
//public:
//	Shader();
//
//	//Shader program object
//	FWint ProgramObject;
//
//	//Vertex local position (attribute a_PosL)
//	FWint Position;
//	//Vertex corlor (attribute a_ColorL)
//	FWint Color;
//	//Vertex local coordinate (uv) (attribute a_UV)
//	FWint Coordinate;
//	//Vertex local normal (attribute a_Normal)
//	FWint Normal;
//	//Vertex local binormal (attribute a_BiNormal)
//	FWint BiNormal;
//	//Vertex local Tangent (attribute a_TGT)
//	FWint Tangent;
//
//	//Vertex local world matrix (uniform u_MatrixL)
//	FWint MatrixLocal;
//	//World-View-Projection matrix (uniform u_MatrixWVP)
//	FWint MatrixWVP;
//
//	//Cube texture (sampler s_SamplerCube)
//	FWint CubeSampler;
//	//Orther texture (sampler)
//	//0-6: Orther texture (sampler s_SamplerX)
//	//7: Normal mapping	(sampler s_SamplerNormal)
//	//8: Lighting mapping (sampler s_SamplerLighting)
//	//9: Shadow mapping (sampler s_SamplerShadow)
//	FWint Samplers[10];
//protected:
//	//Binding attribute\uniform location
//	virtual void Load();
//public:
//	//Create program object, vertex shader, fragment shader
//	FWint Init(FWuint count, char** value);
//	//Release shader resource
//	void Destroy();
//};
//
//#endif